#include <stdio.h>
#include <string.h>

char* my_strstr(const char* str1, const char* str2)
{
    assert(str1 && str2);

    int len1 = strlen(str1);
    int len2 = strlen(str2);

    int i = 0;
    int j = 0;

    while(i < len1 && j < len2)
    {
        if(str1[i] == str2[j])//匹配成功。i，j各加1，接下来比较下一对
        {
            i++;
            j++;
        }
        else//匹配失败
        {
            i = i - j + 1;//i回溯到原来的位置并向前位移一次
            j = 0;//j重置为0，从头开始重新匹配
        }
    }

    if(j == len2)//匹配到str2的最后一个元素，说明匹配成功
    return i - j;
    else
    return -1;
}